/**
 * @file test_gestiondefichier.c
 * @author Florian Castellane <florian.castellane@grenoble-inp.org>
 * @author Christian Proust <christian.proust@phelma.grenoble-inp.fr>
 * @date Tue Sep 25 01:04:00 2012
 * @brief Fonctions de gestion de fichiers.
 *
 */
 
 
 
///////////////		FICHIERS À TESTER	////////////
/*
 FILE * ouvrir_fichier(const char * nom_de_fichier, const char* mode)
&void verif_taille_fichier(FILE *fichier, int taille_max_ligne)
	L>test 1	

 LISTE recuperer_texte (char *nom_fichier_source) ->test 2	*/


#include <stdio.h>
#include <stdlib.h>
#include "include/gestiondefichier.h"


void test_ouvrir_fichier_verif_taille_fichier()
{
	int i=0,j=0;
	char chaine[80];
	FILE * fichier_test = NULL;

	while(i==0)
	{
		printf("\n\n\n\nQuelle partie de fonction voulez vous tester ?\n");
		printf("\t1- si tout se passe correctement,\
		\n\t2- si le fichier n'existe pas,\
		\n\t3- si une ligne trop longue est detectee.\
		\n\t4- si la fonction est mal utilisee)");
		scanf("%d",&i);
		
		switch(i)
		{
			case 1:
				fichier_test = NULL;
				fichier_test=fopen("tests/fichier_test.txt","w+");
				if (fichier_test == NULL)
				{
					printf("Erreur fonction de test");
					return;
				}
				fprintf(fichier_test,"Si ce message s'affiche,\
				\ncorrectement c'est qu'il n'y a pas de probleme\n:-)\
				\nMais il doit cependant y avoir un espace apres : #");
				fclose(fichier_test);


				fichier_test=ouvrir_fichier("tests/fichier_test.txt","r+");
				verif_taille_fichier(fichier_test,80);

				while(fgets(chaine,80,fichier_test)!=NULL)
				{
					j=0;
					printf("\n%s", chaine);
					while(chaine[j]!='\0')
					{	
						printf("\t%d",chaine[j]);
						j++;
					}
				
				}
				
				
				
				
				fclose(fichier_test);
				remove("fichier_test.txt");
				break;
			case 2:
				fichier_test=ouvrir_fichier("nhyugygyu","r+");
				verif_taille_fichier(fichier_test,80);
				break;
			case 3: 
				fichier_test = NULL;
				fichier_test=fopen("tests/fichier_test.txt","w+");
				if (fichier_test == NULL)
				{
					printf("Erreur fonction de test");
					return;
				}
				fprintf(fichier_test,"Si ce message s'affiche\
				\ncorrectement c'est qu'il y a un probleme\n\n\n");
				fclose(fichier_test);

				fichier_test=ouvrir_fichier("tests/fichier_test.txt","r+");
				verif_taille_fichier(fichier_test,10);
			//Normalement, ca plante ici.

				fgets(chaine,80,fichier_test);
				printf("%s", chaine);
				fgets(chaine,80,fichier_test);
				printf("%s", chaine);
				
				fclose(fichier_test);
				remove("fichier_test.txt");
				
			case 4:
				fichier_test = NULL;
				fichier_test=fopen("tests/fichier_test.txt","w+");
				if (fichier_test == NULL)
				{
					printf("Erreur fonction de test");
					return;
				}
				fprintf(fichier_test,"Si ce message s'affiche,\
				\ncorrectement c'est qu'il y a un probleme\
				\nMais il doit cependant y avoir un espace apres : #");
				fclose(fichier_test);


				fichier_test=ouvrir_fichier("tests/fichier_test.txt","r");
				verif_taille_fichier(fichier_test,80);

				break;
			default:
				printf("\n reponse erronee, try again !");
				i=0;
				break;
			
		}
	}
}




void test_recuperer_texte()
{
	printf("Veuillez nous excuser, mais la version test 2.0 n'est \
	\n pas encore disponible. Veuillez contacter le SAV");
}
void test_recuperer_instruction()
{
	printf("Veuillez nous excuser, mais la version test 2.0 n'est \
	\n pas encore disponible. Veuillez contacter le SAV");
}

int main()
{
	int i = 0;
	while(i == 0)
	{
		printf("\n\nQuelle fonction voulez vous tester ?\
		\n\t1- La fonction ouvrir_fichier et verif_taille_fichier ?\
		\n\t2- La fonction reccuperer_texte ?\
		\n\t3- La fonction recuperer_instruction");
	
		scanf("%d",&i);
		
		switch(i)
		{
			case 1:
				test_ouvrir_fichier_verif_taille_fichier();
				break;
			case 2:
				test_recuperer_texte();
				break;			
			case 3:
				test_recuperer_instruction();
				break;
			default:
				printf("\n reponse erronee, try again !");
				i=0;
				break;
		}
	}
	return 0;
}

